package com.pig4cloud.pig.module.api.entity.intermediary;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 中介信息（房屋、车位）订单对象 intermediary_order
 *
 * @author ruoyi
 * @date 2022-08-26
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("intermediary_order")
public class IntermediaryOrder implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /**
     * 中介信息id
     */
    private Integer infoId;

    /**
     * 信息类型  0 - 房屋 1 - 车位
     */
    private Integer infoType;

    /**
     * 发布者微信id
     */
    private Integer userId;

    /**
     * 所属小区id
     */
    private Integer estateId;

    /**
     * 小区名称
     */
    private String estateName;

    /**
     * 支付订单号
     */
    private String orderNo;

    /**
     * 微信、第三方支付订单号
     */
    private String outTradeNo;

    /**
     * 租户姓名
     */
    private String realName;

    /**
     * 预留手机号
     */
    private String phoneNum;

    /**
     * 支付方式  0 - 年付 1- 半年付  2- 季度付  3- 月付
     */
    private Integer payType;

    /**
     * 支付状态
     */
    private Integer payState;

    /**
     * 租金
     */
    private BigDecimal rentPrice;

    /**
     * 租金和押金、中介费的 总支付金额
     */
    private BigDecimal totalPrice;

    /**
     * 押金金额
     */
    private BigDecimal pledgePrice;

    /**
     * 中介费（单月房租的一半）
     */
    private BigDecimal intermediaryPrice;

    /**
     * 房租总金额
     */
    private BigDecimal payPrice;

    /**
     * 入驻时间
     */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inRoomDate;

    /**
     * 房屋状态 0 - 未发布 1 - 已发布 2 - 已出租  3 - 已下架
     */
    private Integer state;

    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT)
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 支付时间
     */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;

    /**
     * 合同终止时间
     */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endContractTime;

    /**
     * 流水号
     */
    private String transactionId;

    /**
     * 退款订单号
     */
    private String refundOutTradeNo;

    /**
     * 退款金额
     */
    private BigDecimal refundMoney;

    /**
     * 退款状态
     */
    private Integer refundState;

    /**
     * 退款结果
     */
    private String refundResult;

    /**
     * 退款时间
     */
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date refundTime;

    /**
     * 房主分成比例
     */
    private BigDecimal holderSplitRate;

    /**
     * 房主分成金额（跃豆形式发放）
     */
    private BigDecimal holderSplitMoney;

    /**
     * 物业公司分成比例
     */
    private BigDecimal propertySplitRate;

    /**
     * 物业公司分成金额（现金形式）
     */
    private BigDecimal propertySplitMoney;

    /**
     * 平台分成比例
     */
    private BigDecimal platformSplitRate;

    /**
     * 平台分成金额（现金形式）
     */
    private BigDecimal platformSplitMoney;

    /**
     * 物业公司的分成支付状态
     */
    private Integer propertyCashPayState;

    /**
     * 支付参数
     */
    private String propertyCashPayStr;

    /**
     * 响应参数
     */
    private String propertyCashRebackStr;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 合同文档地址
     */
    private String agreementUrl;

    /**
     * 生成的 合同图片地址
     */
    private String agreementImgUrl;

    /**
     * 合同地址
     */
    private String hetongUrl;

}
